package com.example.backend.service;

import com.example.backend.entity.Company;
import com.example.backend.entity.Warehouse;
import com.example.backend.entity.Port;
import com.example.backend.dto.CompanyPortInfo;
import java.util.List;

public interface CompanyService {
    int addCompany(Company company);
    Company getCompanyById(Long id);
    List<Company> getAllCompanies();
    int updateCompany(Company company);
    int deleteCompany(Long id);
    List<Company> getCompaniesByPortId(Long portId);
    List<CompanyPortInfo> getCompaniesWithRemainingWeightByPortId(Long portId);
    List<CompanyPortInfo> getCompaniesByPortIdSimple(Long portId);
    List<Warehouse> getWarehousesByCompanyId(Long companyId);
    int addCompanyWarehouse(Long companyId, Long warehouseId);
    int removeCompanyWarehouse(Long companyId, Long warehouseId);
    List<Port> getPortsByCompanyId(Long companyId);
    int addCompanyPort(Long companyId, Long portId);
    int removeCompanyPort(Long companyId, Long portId);
    List<CompanyPortInfo> getPortsWithRemainingByCompanyId(Long companyId);
} 